// src/api/passwordResetApi.js
import axios from 'axios'
import { ElMessage } from 'element-plus'

// 使用相对路径，通过 Vite 代理发送请求
const BASE_URL = ''

// 创建专门用于密码重置的 Axios 实例，不添加认证头
const passwordResetHttp = axios.create({
    baseURL: BASE_URL,
    timeout: 5000,
    withCredentials: true
})

// 请求拦截器 - 不添加 token
passwordResetHttp.interceptors.request.use(
    config => {
        // 密码重置请求不需要添加Authorization头
        return config
    },
    error => Promise.reject(error)
)

// 响应拦截器
passwordResetHttp.interceptors.response.use(
    response => response.data,
    error => {
        if (error.response) {
            const msg = error.response.data?.msg || `请求错误 ${error.response.status}`
            ElMessage.error(msg)
            return Promise.reject(error)
        } else if (error.request) {
            ElMessage.error('网络异常，请检查后端是否启动')
            return Promise.reject(error)
        } else {
            ElMessage.error(error.message || '未知错误')
            return Promise.reject(error)
        }
    }
)

export default {
    // 发送验证码
    sendCode: (data) => passwordResetHttp({
        url: '/api/password/send-code',
        method: 'post',
        data
    }),

    // 验证验证码
    verifyCode: (data) => passwordResetHttp({
        url: '/api/password/verify-code',
        method: 'post',
        data
    }),

    // 重置密码
    reset: (data) => passwordResetHttp({
        url: '/api/password/reset',
        method: 'post',
        data
    })
}